The present invention relates to integrated circuit (IC) designs, and more particularly to a non-volatile memory device with various types of memory cell arrays.
Flash memory is one of the most popular volatile memory devices available in the market. The flash memory provides easy and fast permanent data storage ability for electronic devices such as computers, digital cameras, and other portable devices. The flash memory is considered as a solid state device, meaning that, unlike a hard drive, it contains no moving part. The lack of moving parts allows the flash memory to provide a quicker and more reliable data storage than the hard disc drive. Thus, the flash memory has been considered as one of the candidates that has the potential to replace the hard disc drive as a mass data storage device in the future.
One technical challenge for the flash memory to function as a mass data storage device is that it needs to endure many programming cycles without failure. A typical flash memory cell includes a floating gate disposed on a gate oxide above a channel region. In a programming operation, electrons are injected through the gate oxide and trapped within the floating gate to program the memory cell with a predetermined bit value. This electron injection may cause the gate oxide's failure after many programming cycles.
High endurance flash memory has been developed in order to sustain more programming cycles. The high endurance memory cells used in such flash memory are often large in size. For example, extra components such as charge pumps may be necessary to provide the required potential for operation. Many reserve memory cells may be implemented in the flash memory for replacing the high endurance memory cells once they fail. The high endurance flash memory comes with a trade-off.
While the high endurance flash memory is good for some purposes, it is not necessary for all operations. For example, many codes within a memory device need not to be updated very often, and only some data require frequent updates. It would be more cost efficient to store these codes in memory devices, such as transitional read only memory (ROM) than in the high endurance flash memory. Storing both the codes and data in the high endurance flash memory is wasteful and cost inefficient.
It is therefore desirable to design a memory device that contains high endurance memory cells for storing frequently updated data and typical memory cells for storing less frequently updated codes in order to improve the cost efficiency.